class Bar():
    pass


class Foo(Bar):
    __metaclass__ = type
    pass

'''
Python做了如下的操作：
    1、Foo中有__metaclass__这个属性吗？
       如果是，Python会通过__metaclass__创建一个名字为Foo的类(对象)
    2、如果Python没有找到__metaclass__，它会继续在Bar（父类）中寻找__metaclass__属性，并尝试做和前面同样的操作。
    3、如果Python在任何父类中都找不到__metaclass__，它就会在模块层次中去寻找__metaclass__，并尝试做同样的操作。
    4、如果还是找不到__metaclass__,Python就会用内置的type来创建这个类对象。
    
现在的问题就是，你可以在__metaclass__中放置些什么代码呢？
    答案就是：可以创建一个类的东西。
那么什么可以用来创建一个类呢？
    type，或者任何使用到type或者子类化type的东西都可以。
'''